Method for generating simulated point cloud data, device, and storage medium

ABSTRACT

A method for generating simulated point cloud data, a device, and a storage medium includes: acquiring at least one frame of point cloud data collected by a road collecting device in an actual environment without a dynamic obstacle as static scene point cloud data; setting, least one dynamic obstacle in a coordinate system matching the static scene point cloud data; simulating in the coordinate system, a plurality of simulated scanning lights emitted by a virtual scanner located at an origin of the coordinate system; updating the static scene point cloud data according to intersections of the plurality of simulated scanning lights and the at least one dynamic obstacle to obtain the simulated point cloud data comprising point cloud data of the dynamic obstacle; and at least one of adding a set noise to the simulated point cloud data, and, deleting point cloud data corresponding to the dynamic obstacle according to a set ratio.

CROSS-REFERENCE TO RELATED APPLICATION

The present application is a continuation application of U.S.application Ser. No. 16/551,568, filed on Aug. 26, 2019 which is basedupon and claims priority to Chinese Patent Application No.201811005574.2, filed on Aug. 30, 2018, the entire contents of which areincorporated herein by reference.

FIELD

Embodiments of the present disclosure relate to a point cloud dataprocessing technology, and in particular, to a method for generatingsimulated point cloud data, a device and a storage medium.

BACKGROUND

Point cloud data simulation is a point cloud data and computer aideddesign model based on target scenes. It generates high-reality virtualpoint cloud data technology and may be used to build large-scale scenes.For example, a variety of road scenarios are constructed for trainingunmanned 3D perception modules.

In general, the point cloud data simulation mainly includes threemodules: generating a three-dimension scene map; simulating the state ofobstacles; and simulating the working principle of the sensor. There aremainly two ways to generate the three-dimension scene map in the priorart. First, a 3D mesh model of a three-dimension static environment ismanually created for performing a scene simulation, and then a virtualsensor such as a camera or a three-dimension scanner is used tosynthesize a three-dimension static environment point cloud data,generating a three-dimension scene map based on the three-dimensionstatic environment point cloud data. Secondly, a high-precision laserscanner is used to acquire high-precision and high-density 3D staticenvironment point cloud data, and a 3D scene map is generated accordingto the collected 3D static environment point cloud data.

In the first method, the model is costly to produce. In a condition ofthe existing 3D modeling technology, it is impossible to fully create arealistic scene or a single obstacle model, and it is necessary to fullyor manually automate the modeling method. Therefore, the production oflarge-scale scenes and models of a large number of obstacles requireshigh labor and material costs. In the second method, the amount of datais large, and the high-precision laser scanner is inconvenient totransport, which increases the cost of generating a three-dimensionscene map. Therefore, the cost and difficulty of generating athree-dimension scene map are correspondingly increased, which increasesthe cost and difficulty of point cloud data simulation.

SUMMARY

According to embodiments of the present disclosure, a method forgenerating simulated point cloud data, a device and a storage medium areprovided.

Embodiments of the present disclosure provide a method for generatingsimulated point cloud data. The method includes: acquiring at least oneframe of point cloud data collected by a road collecting device in anactual environment without a dynamic obstacle as static scene pointcloud data; setting, according to set position association information,at least one dynamic obstacle in a coordinate system matching the staticscene point cloud data; simulating in the coordinate system, accordingto the static scene point cloud data, a plurality of simulated scanninglights emitted by a virtual scanner located at an origin of thecoordinate system; and updating the static scene point cloud dataaccording to intersections of the plurality of simulated scanning lightsand the at least one dynamic obstacle to obtain the simulated pointcloud data including point cloud data of the dynamic obstacle.

Embodiments of the present disclosure also provide a device, includingone or more processors; a memory configured to store one or moreprograms, in which when the one or more programs are executed by the oneor more processors, the one or more processors are caused to implementthe method for generating simulated point cloud data, in which themethod includes: acquiring at least one frame of point cloud datacollected by a road collecting device in an actual environment without adynamic obstacle as static scene point cloud data; setting, according toset position association information, at least one dynamic obstacle in acoordinate system matching the static scene point cloud data; simulatingin the coordinate system, according to the static scene point clouddata, a plurality of simulated scanning lights emitted by a virtualscanner located at an origin of the coordinate system; and updating thestatic scene point cloud data according to intersections of theplurality of simulated scanning lights and the at least one dynamicobstacle to obtain the simulated point cloud data including point clouddata of the dynamic obstacle.

Embodiments of the present disclosure also provide a computer-readablestorage medium having a computer program stored thereon, in which thecomputer program is executed by a processor to implement the method forgenerating simulated point cloud data, in which the method includes:acquiring at least one frame of point cloud data collected by a roadcollecting device in an actual environment without a dynamic obstacle asstatic scene point cloud data; setting, according to set positionassociation information, at least one dynamic obstacle in a coordinatesystem matching the static scene point cloud data; simulating in thecoordinate system, according to the static scene point cloud data, aplurality of simulated scanning lights emitted by a virtual scannerlocated at an origin of the coordinate system; and updating the staticscene point cloud data according to intersections of the plurality ofsimulated scanning lights and the at least one dynamic obstacle toobtain the simulated point cloud data including point cloud data of thedynamic obstacle.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart of a method for generating simulated point clouddata according to Embodiment 1 of the present disclosure;

FIG. 2 is a flowchart of a method for generating simulated point clouddata according to Embodiment 2 of the present disclosure;

FIG. 3 is a flowchart of a method for generating simulated point clouddata according to Embodiment 3 of the present disclosure;

FIG. 4 is a flowchart of a method for generating simulated point clouddata according to Embodiment 4 of the present disclosure;

FIG. 5 is a flowchart of a method for generating simulated point clouddata according to Embodiment 5 of the present disclosure;

FIG. 6 is a schematic structural diagram of an apparatus for generatingsimulated point cloud data according to Embodiment 6 of the presentdisclosure;

FIG. 7 is a schematic structural diagram of a device according toEmbodiment 7 of the present disclosure.

DETAILED DESCRIPTION

The present disclosure will be further described in detail below withreference to the accompanying drawings and embodiments. It is understoodthat the specific embodiments described herein are merely illustrativeof the invention and are not intended to limit the present disclosure.It should also be noted that, for ease of description, only some, butnot all, of the structures related to the present disclosure are shownin the drawings.

Embodiment 1

FIG. 1 is a flowchart of a method for generating simulated point clouddata according to Embodiment 1 of the present disclosure. The embodimentis applicable to a scenario of generating simulated point cloud data,and the method may be executed by an apparatus for generating pointcloud data. The apparatus may be implemented in software and/orhardware, and the apparatus may be configured in a computer device. Asshown in FIG. 1 , the method specifically includes the following.

At block 101, at least one frame of point cloud data collected by a roadcollecting device in an actual environment without a dynamic obstacle isacquired as static scene point cloud data.

The actual environment is sampled by a three-dimensional laser scanningdevice, and points describing surface information of an object areobtained, and these point sets are generally referred to point clouddata.

A dynamic obstacle is a movable object in a real environment, such as avehicle, a pedestrian. In the actual environment, when there are fewdynamic obstacles, the road collecting device is drove along the road tocollect a large amount of cloud data without dynamic obstacles. Thesepoint cloud data basically only include static scene point cloud data.Therefore, the point cloud data is collected by the road collectingdevice in the actual environment without dynamic obstacles, and theactual environment point cloud data without dynamic obstacles collectedby the road collecting device is used as the static scene point clouddata to replace the three-dimension scene map.

Optionally, a three-dimension laser scanner is installed on the roadcollecting device, and the road collecting device is drove along theroad in an actual environment without dynamic obstacles to collect thedepth data of the surface of the scene, that is, the road collectingdevice collects point cloud data in the actual environment with nodynamic obstacles. Then, the at least one frame point cloud datacollected by the road collecting device in the actual environmentwithout dynamic obstacles is acquired as the static scene point clouddata.

The road collecting device may be an unmanned vehicle. The actualenvironment may be roads. The 3D laser scanner is a stereo measuringinstrument that uses a laser sensor to continuously emit laser light tothe surface of the object to be measured, and then the light reflectedfrom the surface of the object is received by the laser pulse receiver,and the distance measurement of the object is realized by conversion andcalculation.

At block 102, at least one dynamic obstacle is set in a coordinatesystem matching the static scene point cloud data according to setposition association information.

The position association information is preset information for settingthe dynamic obstacle in a coordinate system that matches the staticscene point cloud data. According to the set position associationinformation, the position and orientation of the vehicle in thecoordinate system matching the static scene point cloud data may bedetermined, and the dynamic obstacle is set to the coordinate systemmatching the static scene point cloud data according to the position andorientation. Specifically, the computer-aided design model correspondingto the dynamic obstacle is set in a coordinate system matching thestatic scene point cloud data according to the position and orientation,such as a computer-aided design model for vehicles and pedestrians.

At block 103, a plurality of simulated scanning lights emitted by avirtual scanner located at an origin of the coordinate system aresimulated in the coordinate system according to the static scene pointcloud data.

The virtual scanner at the origin of the coordinate system collectingdata comprises emitting laser rays from the origin of the coordinatesystem to the object and then the laser rays being returned. Therefore,a plurality of simulated scanning rays emitted by the virtual scannerlocated at the origin of the coordinate system may be simulated in thecoordinate system according to the origin of the coordinate system andeach point of the static scene point cloud data.

Optionally, the origin of the coordinate system is connected to eachpoint in the static scene point cloud data respectively to obtainmultiple line segments as the simulated scanning light.

Optionally, the origin of the coordinate system may be respectivelyconnected to each point in the static scene point cloud data to obtainmultiple line segments, and then the actual working parameters of thevirtual scanner are simulated in the coordinate system to generate aplurality of rays starting from the origin, and after combining the twolights according to the angle between the two lights, the combination ofthe two lights is used as the simulated scanning light.

At block 104, the static scene point cloud data is updated according tointersections of the plurality of simulated scanning lights and the atleast one dynamic obstacle to obtain the simulated point cloud dataincluding point cloud data of the dynamic obstacle.

The shielding relationship between the dynamic obstacle and the staticscene is determined according to the intersection of the plurality ofsimulated scanning rays and the at least one dynamic obstacle, and thestatic scene point cloud data is updated according to the shieldingrelationship, and the simulation point cloud data including the dynamicobstacle point cloud data is obtained.

The embodiment of the present disclosure provides a method forgenerating simulated point cloud data, in which point cloud datacollected by a road collecting device in an actual environment without adynamic obstacle may be determined as static scene point cloud data, andat least one dynamic obstacle is set in a coordinate system matching thestatic scene point cloud data according to set position associationinformation. After that, a plurality of simulated scanning lightsemitted by a virtual scanner located at an origin of the coordinatesystem are simulated in the coordinate system, and the static scenepoint cloud data may be updated according to intersections of theplurality of simulated scanning lights and the at least one dynamicobstacle to obtain the simulated point cloud data including point clouddata of the dynamic obstacle. Therefore, a three-dimension scene mapdoes not need to be generated to perform the point cloud datasimulation, thereby reducing a cost and difficulty of the point clouddata simulation.

Embodiment 2

FIG. 2 is a flowchart of a method for generating simulated point clouddata according to Embodiment 2 of the present disclosure. The embodimentis embodied based on the foregoing embodiment. In this embodiment,simulating in the coordinate system, according to the static scene pointcloud data, the plurality of simulated scanning lights emitted by thevirtual scanner located at the origin of the coordinate system mayinclude: connecting the origin of the coordinate system to each point inthe static scene point cloud data respectively to obtain a plurality ofline segments as the plurality of simulated scanning lights

As shown in FIG. 2 , the method specifically includes the following.

At block 201, at least one frame of point cloud data collected by a roadcollecting device in an actual environment without a dynamic obstacle isacquired as static scene point cloud data.

At block 202, at least one dynamic obstacle is set in a coordinatesystem matching the static scene point cloud data according to setposition association information.

Optionally, the position association information comprises: positioninformation and orientation information.

The position and orientation of the vehicle in the coordinate systemmatching with the static scene point cloud data may be determinedaccording to the set position information and the orientationinformation, and the dynamic obstacle is set in the coordinate systemmatching with the static scene point cloud data according to theposition and the orientation.

At block 203, the origin of the coordinate system is connected to eachpoint in the static scene point cloud data respectively to obtain aplurality of line segments as the plurality of simulated scanninglights.

The plurality of line segments between each point in the static scenepoint cloud data and the origin of the coordinate system are used tosimulate a plurality of simulated scanning rays emitted by the virtualscanner located at the origin of the coordinate system.

At block 204, the static scene point cloud data is updated according tointersections of the plurality of simulated scanning lights and the atleast one dynamic obstacle to obtain the simulated point cloud dataincluding point cloud data of the dynamic obstacle.

Optionally, after updating the static scene point cloud data accordingto intersections of the plurality of simulated scanning lights and theat least one dynamic obstacle to obtain the simulated point cloud datacomprising point cloud data of the dynamic obstacle, the method furtherincludes: adding a set noise to the simulated point cloud data, and/or,deleting point cloud data corresponding to the dynamic obstacleaccording to a set ratio.

The dynamic obstacle point cloud data in the simulated point cloud datamay be made closer to the dynamic obstacle point cloud data collected inthe actual environment by adding a set noise to the simulated pointcloud data, and, deleting point cloud data corresponding to the dynamicobstacle according to a set ratio.

With the method for generating simulated point cloud data provided inembodiments of the present disclosure, the origin of the coordinatesystem is connected to each point in the static scene point cloud datarespectively to obtain a plurality of line segments as the plurality ofsimulated scanning lights, such that the line segments between eachpoint and the origin of the coordinate system simulates the simulatedscanning rays emitted by the virtual scanner at the origin of thecoordinate system.

Embodiment 3

FIG. 3 is a flowchart of a method for generating simulated point clouddata according to Embodiment 3 of the present disclosure. In thisembodiment, simulating, according to the static scene point cloud data,the plurality of simulated scanning lights emitted by the virtualscanner located at the origin of the coordinate system in the coordinatesystem may include: connecting the origin of the coordinate system toeach point in the static scene point cloud data respectively to obtain aplurality of line segments as actual scanning lights; simulating actualworking parameters of the virtual scanner, and generating a plurality ofrays starting from the origin as ideal scanning lights; comparing, inthe coordinate system, each of the ideal scanning lights with each ofthe actual scanning lights separately; deleting an ideal scanning lightwith an angle between the ideal scanning light and an actual scanninglight that is less than or equal to a first angle threshold; anddetermining a combination of remaining ideal scanning lights and theactual scanning lights as the plurality of simulated scanning lights.

As shown in FIG. 3 , the method specifically includes the following:

At block 301, at least one frame of point cloud data collected by a roadcollecting device in an actual environment without a dynamic obstacle isacquired as static scene point cloud data.

At block 302, at least one dynamic obstacle is set in a coordinatesystem matching the static scene point cloud data according to setposition association information.

At block 303, the origin of the coordinate system is connected to eachpoint in the static scene point cloud data respectively to obtain aplurality of line segments as actual scanning lights.

The actual scanning lights are line segments between the origin of thecoordinate system and the respective points in the static scene pointcloud data.

At block 304, actual working parameters of the virtual scanner aresimulated, and a plurality of rays starting from the origin as idealscanning lights are generated.

The actual scanning lights obtained by connecting the origin of thecoordinate system and the points in the static scene point cloud data isnot comprehensive. If an obstacle is not encountered during a raytransmission, for example, a ray emitted by the road collecting deviceis parallel to the road surface to the front of the road collectingdevice, and there is no obstacle on the transmission path of the ray,the point cloud data will not be returned. Therefore, the ray is notincluded in the actual scanned ray obtained by connecting the coordinatesystem origin to each point in the static scene point cloud data.However, if a dynamic obstacle is placed in front of the road collectingdevice, the ray must be generated.

According to the actual working parameters of the virtual scanner, aplurality of rays starting from the origin may be generated as the idealscanning light. The ideal scanning light is used to simulate thescanning light that the road collecting device actually emits in theactual environment.

At block 305, in the coordinate system, each of the ideal scanninglights is compared with each of the actual scanning lights separately.

The ideal scanning light is compared with each actual scanning light toobtain an angle between each ideal scanning light and each actualscanning light.

At block 306, an ideal scanning light with an angle between the idealscanning light and an actual scanning light that is less than or equalto a first angle threshold is deleted.

In general, the ray that does not encounter obstacles duringtransmission is far from the actual scanning ray. The first anglethreshold is a preset upper angle limit for determining whether theideal scanning ray is close to the actual scanning ray.

If the angle between the ideal scanning light and the actual scanninglight is less than or equal to the first angle threshold, it means thatthe ideal scanning light is close to the actual scanning light, and itmay not be the ray without encountering an obstacle during transmissionwhich should be added, such that the ideal scanning light is deleted.

If the angle between the ideal scanning light and the actual scanninglight is greater than the first angle threshold, it means that the idealscanning light is far from the actual scanning light, and it may be theray without encountering an obstacle during transmission which should beadded, such that the ideal scanning light is kept.

At block 307, combinations of remaining ideal scanning lights and theactual scanning lights are determined as the plurality of simulatedscanning lights.

The combination of the ideal scanning ray without encountering anobstacle during transmission which should be added and the actualscanning ray is determined as the simulated scanning ray.

At block 308, the static scene point cloud data is updated according tointersections of the plurality of simulated scanning lights and the atleast one dynamic obstacle to obtain the simulated point cloud dataincluding point cloud data of the dynamic obstacle.

With the method for generating simulated point cloud data provided inembodiments of the present disclosure, the origin of the coordinatesystem is connected to each point in the static scene point cloud datarespectively to obtain a plurality of line segments as actual scanninglights, and at the same time, actual working parameters of the virtualscanner are simulated, and a plurality of rays starting from the originas ideal scanning lights are generated. In the coordinate system, eachof the ideal scanning lights is compared with each of the actualscanning lights separately, and after that, an ideal scanning light withan angle between the ideal scanning light and an actual scanning lightthat is less than or equal to a first angle threshold is deleted, andcombinations of remaining ideal scanning lights and the actual scanninglights are determined as the plurality of simulated scanning lights.Therefore, rays without encountering an obstacle during transmission maybe supplemented to build comprehensive simulated scanning lights.

Embodiment 4

FIG. 4 is a flowchart of a method for generating simulated point clouddata according to Embodiment 4 of the present disclosure. The embodimentis embodied based on the foregoing embodiment. In this embodiment,updating the static scene point cloud data according to intersections ofthe plurality of simulated scanning lights and the at least one dynamicobstacle to obtain the simulated point cloud data comprising point clouddata of the dynamic obstacle may include: obtaining a distance valuebetween the origin of the coordinate system and an intersection of afirst target simulated scanning light and a dynamic obstacle when thefirst target simulated scanning light is intersected with the dynamicobstacle; adding the intersection to the static scene point cloud datadirectly when the first target simulated scanning light is a ray; whenthe first target simulated scanning light is a line segment, comparing alength of the line segment with the distance value, and replacing an endpoint of the line segment in the static scene point cloud data by theintersection when the distance value is smaller than the length of theline segment.

As shown in FIG. 4 , the method specifically includes the following:

At block 401, at least one frame of point cloud data collected by a roadcollecting device in an actual environment without a dynamic obstacle isacquired as static scene point cloud data.

At block 402, at least one dynamic obstacle is set in a coordinatesystem matching the static scene point cloud data according to setposition association information.

At block 403, a plurality of simulated scanning lights emitted by avirtual scanner located at an origin of the coordinate system aresimulated in the coordinate system according to the static scene pointcloud data.

At block 404, a distance value between the origin of the coordinatesystem and an intersection of a first target simulated scanning lightand a dynamic obstacle is obtained when the first target simulatedscanning light is intersected with the dynamic obstacle.

The first target simulated scanning light is a simulated scanning lightgenerated according to the static scene point cloud data. It isdetermined whether the first target simulated scanning ray and thedynamic obstacle have intersections in the coordinate system accordingthe point cloud data corresponding to the first target simulatedscanning light and the point cloud data of the dynamic obstacle.

If the first target simulated scanning light is intersected with thedynamic obstacle, the distance value between the intersection point andthe origin of the coordinate system according to the point cloud datacorresponding to the first target simulated scanning light and the pointcloud data of the dynamic obstacle.

If the first target simulated scan ray does not intersect with any ofthe dynamic obstacles, there is no need to update the static scene pointcloud data according to the first target simulated scanning light.

At block 405, a type of the first target simulated scanning light isdetermined, and when the first target simulated scanning light is a ray,act in block 406 is performed; when the first target simulated scanningray is a line segment, act in block 407 is performed.

The type of the first target simulated scanning light includes a linesegment and a ray.

At block 406, the intersection is added to the static scene point clouddata directly.

When the first target simulated scanning light is a ray, the firsttarget simulated scanning ray is a supplemental ray that does notencounter an obstacle during transmission. The first target simulatesthe intersection of the scanning ray with a dynamic obstacle, indicatingthat a new shielding relationship is generated after the dynamicobstacle is added, and the intersection point is directly added to thestatic scene point cloud data, thereby supplementing the shieldingrelationship between the dynamic obstacle and the static scene.

At block 407, a length of the line segment is compared with the distancevalue, and an end point of the line segment in the static scene pointcloud data is replaced by the intersection when the distance value issmaller than the length of the line segment.

When the first target simulated scanning light is a line segment, thefirst target simulated scanning light is a simulated scanning lightobtained by respectively connecting each point in the static scene pointcloud data and the origin of the coordinate system. The length of theline segment is compared with the distance value. If the distance valueis smaller than the length of the line segment, indicating that thedynamic obstacle forms a shielding on the static scene, the intersectionpoint of the static scene point cloud data is replaced by theintersection point, thereby updating the shielding relationship betweenthe dynamic obstacle and the static scene. If the distance value isgreater than or equal to the length of the line segment, indicating thatthe dynamic obstacle does not form a shielding in the static scene, itis not necessary to update the static scene point cloud data accordingto the first target simulated scanning light.

With the method for generating simulated point cloud data provided inembodiments of the present disclosure, when first target simulatedscanning light interacts with a dynamic obstacle, a distance valuebetween the intersection point and the origin of the coordinate systemis obtained, and then a type of the first target simulated scanninglight is determined, the static scene point cloud data is updatedaccording to the type of the first target simulated scanning light, suchthat the shielding relationship between the dynamic obstacle and thestatic scene may be further determined, and the static scene point clouddata may be updated according to the shielding relationship.

Embodiment 5

FIG. 5 is a flowchart of a method for generating simulated point clouddata according to Embodiment 5 of the present disclosure. In thisembodiment, updating the static scene point cloud data according tointersections of the plurality of simulated scanning lights and the atleast one dynamic obstacle to obtain the simulated point cloud dataincluding point cloud data of the dynamic obstacle may include:determining, according to position association information of the atleast one dynamic obstacle in the coordinate system, depth maps of thedynamic obstacle projected on respective projection planes in aprojection cube centered on the virtual scanner; obtaining intersectionsof the plurality of simulated scanning lights with respective projectionplanes in the projection cube; determining a type of a second targetsimulated scanning light when first depth information on a targetintersection of the second target simulated scanning light and a targetplane is greater than second depth information of a depth map of thedynamic obstacle corresponding to the target plane at the targetintersection; when the second target simulated scan light is a ray,constructing a new intersection according to the second target simulatedscanning light and the second depth information, and adding the newintersection to the static scene point cloud data; when the secondtarget simulated scanning light is a line segment, constructing a newintersection according to the second target simulated scanning light andthe second depth information, and replacing an end point of the linesegment in the static scene point cloud data by the new intersection.

As shown in FIG. 5 , the method specifically includes the following:

At block 501, at least one frame of point cloud data collected by a roadcollecting device in an actual environment without a dynamic obstacle isacquired as static scene point cloud data.

At block 502, at least one dynamic obstacle is set in a coordinatesystem matching the static scene point cloud data according to setposition association information.

At block 503, a plurality of simulated scanning lights emitted by avirtual scanner located at an origin of the coordinate system aresimulated in the coordinate system according to the static scene pointcloud data.

At block 504, depth maps of the dynamic obstacle projected on respectiveprojection planes in a projection cube centered on the virtual scannerare determined according to position association information of the atleast one dynamic obstacle in the coordinate system.

The projection cube is built around the virtual scanner. The six facesof the projected cube are the projection planes. The entire scene isprojected onto the six projection planes of the projection cube to formsix depth maps. Each pixel value of the depth map represents thedistance of the object from the projection plane.

Since the six projection planes of the projected cube may contain allthe directions emitted from the center of the projected cube, thecorresponding six depth maps may contain depth information for allobjects visible to the virtual scanner in the scene. The depthinformation is the distance information of the object to the projectionplane.

The position of the at least one dynamic obstacle may be determinedaccording to the position association information of the at least onedynamic obstacle in the coordinate system, and the depth map of thedynamic obstacle is determined according to the positions of the dynamicobstacle in the six depth maps.

At block 505, intersections of the plurality of simulated scanninglights with respective projection planes in the projection cube areobtained.

The starting point of the simulated scanning light is a virtual scannerlocated at the origin of the coordinate system. Any one of the simulatedscan rays will necessarily intersect a face of the projected cube. Forthe intersection of a simulated scanning ray and the projection plane,the corresponding depth information may be directly found on thecorresponding depth map.

At block 506, a type of a second target simulated scanning light isdetermined when first depth information on a target intersection of thesecond target simulated scanning light and a target plane is greaterthan second depth information of a depth map of the dynamic obstaclecorresponding to the target plane at the target intersection; and whenthe second target simulated scan light is a ray, act in block 507 isperformed; when the second target simulated scanning light is a linesegment, act in block 508 is performed.

The first depth information is distance information of the targetintersection point to the target plane. The second depth information isdistance information of the dynamic obstacle to the target plane underthe target intersection.

The second target simulated scanning light is a simulated scanning raygenerated from the static scene point cloud data. When the first depthinformation of the target intersection between the second targetsimulated scanning light and the target plane is greater than the seconddepth information of the depth map of the dynamic obstacle correspondingto the target plane at the target intersection, it means that thedynamic obstacle shields the static scene at the target intersection,and it is necessary to determine how to update the static scene pointcloud data according to the shielding relationship. Therefore, the typeof the second target simulated scanning light is determined. The type ofsecond target simulated scanning light includes a line segment and aray.

At block 507, a new intersection is constructed according to the secondtarget simulated scanning light and the second depth information and isadded into the static scene point cloud data.

When the second target simulated scanning light is a ray, the secondtarget simulated scanning light is a supplemental light that does notencounter an obstacle during transmission. When the first depthinformation of the target intersection between the second targetsimulated scanning light and the target plane is greater than the seconddepth information of the depth map of the dynamic obstacle correspondingto the target plane at the target intersection, it means that a newshielding relationship is formed after the dynamic obstacle is added,such that the new intersection is built according to the second targetsimulated scanning light and the second depth information, and the newintersection is added into the static scene point cloud, so as tosupplement the shielding relationship between the dynamic obstacle andthe static scene.

At block 508, a new intersection is constructed according to the secondtarget simulated scanning light and the second depth information, and anend point of the line segment in the static scene point cloud data isreplaced by the new intersection.

When the second target simulated scanning ray is a line segment, thesecond target simulated scanning ray is a simulated scanning lightobtained by respectively connecting each point in the static scene pointcloud data and the origin in the coordinate system. When the first depthinformation of the target intersection between the second targetsimulated scanning light and the target plane is greater than a seconddepth information of the depth map of the dynamic obstacle correspondingto the target plane at the target intersection point, it means that thedynamic obstacle shields the static scene. Then, according to the secondtarget simulated scanning light and the second depth information, a newintersection point is constructed, and the new intersection point isused to replace the end point of the line segment in the static scenepoint cloud data, thereby updating the shielding relationship betweenthe dynamic obstacle and the static scene.

With the method for generating simulated point cloud data provided inembodiments of the present disclosure, depth maps of the dynamicobstacle projected on respective projection planes in a projection cubecentered on the virtual scanner are determined according to positionassociation information of the at least one dynamic obstacle in thecoordinate system, and it may be determined whether to update the staticscene point cloud data according to the first depth information on atarget intersection of the second target simulated scanning light and atarget plane is greater than second depth information of a depth map ofthe dynamic obstacle corresponding to the target plane at the targetintersection. According to the type of the second target simulatedscanning light, the manner of updating the static scene point cloud datamay be determined, the shielding relationship between the dynamicobstacle and the static scene according to the depth information, andthe static scene point cloud data may be updated according to theshielding relationship.

Embodiment 6

FIG. 6 is a schematic structural diagram of an apparatus for generatingsimulated point cloud data according to Embodiment 6 of the presentdisclosure. As shown in FIG. 6 , the apparatus may be configured in acomputer device, including: a data acquiring module 601 and an obstaclesetting module 602, a light generating module 603 and a data updatingmodule 604.

The data acquiring module 601 is configured to acquire at least oneframe of point cloud data collected by a road collecting device in anactual environment without a dynamic obstacle as static scene pointcloud data. The obstacle setting module 602 is configured to set,according to set position association information, at least one dynamicobstacle in a coordinate system matching the static scene point clouddata. The light generating module 603 is configured to simulate in thecoordinate system, according to the static scene point cloud data, aplurality of simulated scanning lights emitted by a virtual scannerlocated at an origin of the coordinate system. The data updating module604 is configured to update the static scene point cloud data accordingto intersections of the plurality of simulated scanning lights and theat least one dynamic obstacle to obtain the simulated point cloud datacomprising point cloud data of the dynamic obstacle.

The embodiment of the present disclosure provides an apparatus forgenerating simulated point cloud data, in which point cloud datacollected by a road collecting device in an actual environment without adynamic obstacle may be determined as static scene point cloud data, andat least one dynamic obstacle is set in a coordinate system matching thestatic scene point cloud data according to set position associationinformation. After that, a plurality of simulated scanning lightsemitted by a virtual scanner located at an origin of the coordinatesystem are simulated in the coordinate system, and the static scenepoint cloud data may be updated according to intersections of theplurality of simulated scanning lights and the at least one dynamicobstacle to obtain the simulated point cloud data including point clouddata of the dynamic obstacle. Therefore, a three-dimension scene mapdoes not need to be generated to perform the point cloud datasimulation, thereby reducing a cost and difficulty of the point clouddata simulation.

On the basis of the foregoing embodiments, the light generating module603 may include: a light generating unit configured to connect theorigin of the coordinate system to each point in the static scene pointcloud data respectively to obtain a plurality of line segments as theplurality of simulated scanning lights.

On the basis of the above embodiments, the light generating module 603may include: an actual light generating unit, configured to connect theorigin of the coordinate system to each point in the static scene pointcloud data respectively to obtain a plurality of line segments as actualscanning lights; an ideal light generating unit, configured to simulateactual working parameters of the virtual scanner, and generate aplurality of rays starting from the origin as ideal scanning lights; alight comparing unit, configured to compare, in the coordinate system,each of the ideal scanning lights with each of the actual scanninglights separately; a light deleting unit, configured to delete an idealscanning light with an angle between the ideal scanning light and anactual scanning light that is less than or equal to a first anglethreshold; and a light combining unit, configured to determine acombination of remaining ideal scanning lights and the actual scanninglights as the plurality of simulated scanning lights.

On the basis of the foregoing embodiments, the data updating module 604may include: a distance value acquiring unit, configured to obtain adistance value between the origin of the coordinate system and anintersection of a first target simulated scanning light and a dynamicobstacle when the first target simulated scanning light is intersectedwith the dynamic obstacle; an intersection adding unit, configured toadd the intersection to the static scene point cloud data directly whenthe first target simulated scanning light is a ray; an intersectionreplacement unit, configured to compare, when the first target simulatedscanning light is a line segment, a length of the line segment with thedistance value, and replacing an end point of the line segment in thestatic scene point cloud data by the intersection when the distancevalue is smaller than the length of the line segment.

On the basis of the foregoing embodiments, the data updating module 604may include: a depth map determining unit, configured to determine,according to position association information of the at least onedynamic obstacle in the coordinate system, depth maps of the dynamicobstacle projected on respective projection planes in a projection cubecentered on the virtual scanner; an intersection obtaining unit,configured to obtain intersections of the plurality of simulatedscanning lights with respective projection planes in the projectioncube; and a ray type determining unit, configured to determine a type ofa second target simulated scanning light when first depth information ona target intersection of the second target simulated scanning light anda target plane is greater than second depth information of a depth mapof the dynamic obstacle corresponding to the target plane at the targetintersection; the first intersection construction unit, configured toconstruct, when the second target simulated scan light is a ray, a newintersection according to the second target simulated scanning light andthe second depth information, and add the new intersection to the staticscene point cloud data; and a second intersection construction unit,configured to constructing, when the second target simulated scanninglight is a line segment, a new intersection according to the secondtarget simulated scanning light and the second depth information, andreplace an end point of the line segment in the static scene point clouddata by the new intersection.

Based on the foregoing embodiments, the position association informationmay include: position information and orientation information.

Based on the foregoing embodiments, the method further includes: a dataprocessing module, configured to add a set noise to the simulated pointcloud data, and/or, delete point cloud data corresponding to the dynamicobstacle according to a set ratio.

The apparatus for generating simulated point cloud data provided by theembodiments of the present disclosure may be configured to execute themethod for generating simulated point cloud data provided in anyembodiment of the present disclosure, and has a function module and abeneficial effect corresponding to the execution method.

Embodiment 7

FIG. 7 is a schematic structural diagram of a device according toEmbodiment 7 of the present disclosure. FIG. 7 shows a block diagram ofan exemplary device 712 suitable for use in implementing embodiments ofthe present disclosure. The device 712 shown in FIG. 7 is merely anexample and should not impose any limitation on the function and scopeof use of the embodiments of the present disclosure.

As shown in FIG. 7 , the device 712 is embodied in a form of a generalpurpose computing device. Components of device 712 may include, but arenot limited to, one or more processors or processing units 716, a systemmemory 728, and a bus 718 that connects different system componentsincluding the system memory 728 and the processing unit 716.

The bus 718 represents one or more of several types of bus structures,including a memory bus or a memory controller, a peripheral bus, agraphics acceleration port, a processor, or a local bus using any of avariety of bus structures. For example, these structures include, butare not limited to, an Industry Standard Architecture (ISA) bus, a MicroChannel Architecture (MAC) bus, an Enhanced ISA Bus, a Video ElectronicsStandards Association (VESA) local bus, and peripheral componentinterconnects (PCI) bus.

The device 712 typically includes a variety of computer system readablemediums. These media may be any available medium that may be accessed bydevice 712, including volatile and non-volatile medium, removable andnon-removable medium.

The system memory 728 can include computer system readable medium in theform of volatile memory, such as random access memory (RAM) 730 and/orcache memory 732. Device 712 can further include otherremovable/non-removable, volatile/non-volatile computer system storagemedium. By way of example only, the storage system 734 may be used toread and write non-removable, non-volatile magnetic medium (not shown inFIG. 7 , commonly referred to as a “hard disk drive”). Although notshown in FIG. 7 , a disk drive for reading and writing to a removablenon-volatile disk (such as a “floppy disk”), and a removablenon-volatile disk (such as a CD-ROM, DVD-ROM or other optical medium)may be provided. In these cases, each drive may be coupled to bus 718via one or more data medium interfaces. The memory 728 can include atleast one program product having a set (e.g., at least one) of programmodules configured to perform the functions of various embodiments ofthe present disclosure.

The program/utility 740 having a set (at least one) of program modules742, which may be stored, for example, in memory 728, such programmodules 742 include, but are not limited to, an operating system, one ormore applications, other programs modules and program data, each ofthese examples or some combination may include an implementation of anetwork environment. Program module 742 typically performs the functionsand/or methods of the described embodiments of the present disclosure.

The device 712 can also be in communication with one or more externaldevices 714 (e.g., a keyboard, pointing device, display 724, etc.), andcan also communicate with one or more devices that enable a user tointeract with the device 712, and/or the device 712 can communicate withany device (e.g., network card, modem, etc.) that is in communicationwith one or more other computing devices. This communication can takeplace via an input/output (I/O) interface 722. Also, the device 712 canalso communicate with one or more networks (e.g., a local area network(LAN), a wide area network (WAN), and/or a public network, such as theInternet) through network adapter 720. As shown, network adapter 720communicates with other modules of device 712 via bus 718. It should beunderstood that although not shown in FIG. 7 , other hardware and/orsoftware modules may be utilized in connection with device 712,including but not limited to: microcode, device drivers, redundantprocessing units, external disk drive arrays, RAID systems, tape drives,and data backup storage systems, etc.

The device 712 may be a type of terminal device. The processing unit 716of the device 712 executes various functions and data processing byexecuting a program stored in the system memory 728, for example, amethod for generating simulated point cloud data provided by anembodiment of the present disclosure. The method may include: acquiringat least one frame of point cloud data collected by a road collectingdevice in an actual environment without a dynamic obstacle as staticscene point cloud data; setting, according to set position associationinformation, at least one dynamic obstacle in a coordinate systemmatching the static scene point cloud data; simulating in the coordinatesystem, according to the static scene point cloud data, a plurality ofsimulated scanning lights emitted by a virtual scanner located at anorigin of the coordinate system; and updating the static scene pointcloud data according to intersections of the plurality of simulatedscanning lights and the at least one dynamic obstacle to obtain thesimulated point cloud data comprising point cloud data of the dynamicobstacle.

Embodiment 8

The eighth embodiment of the present disclosure further provides acomputer readable storage medium, on which a computer program is stored,which is executed by the processor to implement a method for generatingsimulated point cloud data according to an embodiment of the presentdisclosure. The method may include: acquiring at least one frame ofpoint cloud data collected by a road collecting device in an actualenvironment without a dynamic obstacle as static scene point cloud data;setting, according to set position association information, at least onedynamic obstacle in a coordinate system matching the static scene pointcloud data; simulating in the coordinate system, according to the staticscene point cloud data, a plurality of simulated scanning lights emittedby a virtual scanner located at an origin of the coordinate system; andupdating the static scene point cloud data according to intersections ofthe plurality of simulated scanning lights and the at least one dynamicobstacle to obtain the simulated point cloud data comprising point clouddata of the dynamic obstacle.

The computer storage medium of the embodiments of the present disclosuremay employ any combination of one or more computer readable mediums. Thecomputer readable medium may be a computer readable signal medium or acomputer readable storage medium. The computer readable storage mediummay be, for example, but not limited to, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,or device, or any combination of the above. More specific examples(non-exhaustive lists) of computer readable storage medium include:electrical connections having one or more wires, a portable computerdisk, a hard disk, a random access memory (RAM), a read only memory(ROM), an erasable programmable read only memory (EPROM or flashmemory), an optical fiber, a portable compact disk read only memory(CD-ROM), optical storage device, magnetic storage device, or anysuitable combination of the foregoing. Herein, computer readable storagemedium may be any tangible medium that can contain or store a program,which may be used by or in connection with an instruction executionsystem, apparatus or device.

A computer readable signal medium may include a data signal that ispropagated in the baseband or as part of a carrier, carrying computerreadable program code. Such propagated data signals can take a varietyof forms including, but not limited to, electromagnetic signals, opticalsignals, or any suitable combination of the foregoing. The computerreadable signal medium can also be any computer readable medium otherthan a computer readable storage medium, which can transmit, propagate,or transport a program for use by or in connection with the instructionexecution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedby any suitable medium, including but not limited to wireless, wire,fiber optic cable, RF, etc., or any suitable combination of theforegoing.

Computer program code for performing the operations of the presentdisclosure may be written in one or more programming languages, orcombinations thereof, including an object oriented programming languagesuch as Java, Smalltalk, C++, Ruby or Go. Also included are conventionalprocedural programming languages such as the “C” language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer, partly on the remotecomputer, or entirely on the remote computer or server. In the case of aremote computer, the remote computer may be connected to the user'scomputer through any kind of network, including a local area network(LAN) or a wide area network (WAN), or may be connected to an externalcomputer (e.g., using an Internet service provider) Internetconnection).

It should be noted that the above are merely the preferred embodimentsof the present disclosure and the technical principles applied thereto.Those skilled in the art will appreciate that the present disclosure isnot limited to the specific embodiments described herein, and thatvarious modifications, changes and substitutions may be made withoutdeparting from the scope of the invention. Therefore, the presentdisclosure has been described in detail by the above embodiments, butthe present disclosure is not limited to the above embodiments, andother equivalent embodiments may be included without departing from theinventive concept. The scope is determined by the scope of the appendedclaims.

What is claimed is:
 1. A method for generating simulated point clouddata, comprising: acquiring at least one frame of point cloud datacollected by a road collecting device in an actual environment without adynamic obstacle as static scene point cloud data; setting, according toset position association information, at least one dynamic obstacle in acoordinate system matching the static scene point cloud data; simulatingin the coordinate system, according to the static scene point clouddata, a plurality of simulated scanning lights emitted by a virtualscanner located at an origin of the coordinate system; and updating thestatic scene point cloud data according to intersections of theplurality of simulated scanning lights and the at least one dynamicobstacle to obtain the simulated point cloud data comprising point clouddata of the dynamic obstacle, after which the method further comprisesat least one of: adding a set noise to the simulated point cloud data,and, deleting point cloud data corresponding to the dynamic obstacleaccording to a set ratio.
 2. The method according to claim 1, wherein,simulating in the coordinate system, according to the static scene pointcloud data, the plurality of simulated scanning lights emitted by thevirtual scanner located at the origin of the coordinate systemcomprises: connecting the origin of the coordinate system to each pointin the static scene point cloud data respectively to obtain a pluralityof line segments as the plurality of simulated scanning lights.
 3. Themethod according to claim 1, wherein, simulating in the coordinatesystem, according to the static scene point cloud data, the plurality ofsimulated scanning lights emitted by the virtual scanner located at theorigin of the coordinate system comprises: connecting the origin of thecoordinate system to each point in the static scene point cloud datarespectively to obtain a plurality of line segments as actual scanninglights; simulating actual working parameters of the virtual scanner, andgenerating a plurality of rays starting from the origin as idealscanning lights; comparing, in the coordinate system, each of the idealscanning lights with each of the actual scanning lights separately;deleting an ideal scanning light with an angle between the idealscanning light and an actual scanning light that is less than or equalto a first angle threshold; and determining a combination of remainingideal scanning lights and the actual scanning lights as the plurality ofsimulated scanning lights.
 4. The method according to claim 1, wherein,updating the static scene point cloud data according to intersections ofthe plurality of simulated scanning lights and the at least one dynamicobstacle to obtain the simulated point cloud data comprising point clouddata of the dynamic obstacle comprises: obtaining a distance valuebetween the origin of the coordinate system and an intersection of afirst target simulated scanning light and a dynamic obstacle when thefirst target simulated scanning light is intersected with the dynamicobstacle; adding the intersection to the static scene point cloud datadirectly when the first target simulated scanning light is a ray; whenthe first target simulated scanning light is a line segment, comparing alength of the line segment with the distance value, and replacing an endpoint of the line segment in the static scene point cloud data by theintersection when the distance value is smaller than the length of theline segment.
 5. The method according to claim 1, wherein, updating thestatic scene point cloud data according to intersections of theplurality of simulated scanning lights and the at least one dynamicobstacle to obtain the simulated point cloud data comprising point clouddata of the dynamic obstacle comprises: determining, according toposition association information of the at least one dynamic obstacle inthe coordinate system, depth maps of the dynamic obstacle projected onrespective projection planes in a projection cube centered on thevirtual scanner; obtaining intersections of the plurality of simulatedscanning lights with respective projection planes in the projectioncube; determining a type of a second target simulated scanning lightwhen first depth information on a target intersection of the secondtarget simulated scanning light and a target plane is greater thansecond depth information of a depth map of the dynamic obstaclecorresponding to the target plane at the target intersection; when thesecond target simulated scan light is a ray, constructing a newintersection according to the second target simulated scanning light andthe second depth information, and adding the new intersection to thestatic scene point cloud data; when the second target simulated scanninglight is a line segment, constructing a new intersection according tothe second target simulated scanning light and the second depthinformation, and replacing an end point of the line segment in thestatic scene point cloud data by the new intersection.
 6. The methodaccording to claim 1, wherein the position association informationcomprises: position information and orientation information.
 7. A devicefor generating simulated point cloud data, comprising: one or moreprocessors; a memory configured to store one or more programs, whereinwhen the one or more programs are executed by the one or moreprocessors, the one or more processors are caused to implement a methodfor generating simulated point cloud data, in which the one or moreprocessors are configured to: acquire at least one frame of point clouddata collected by a road collecting device in an actual environmentwithout a dynamic obstacle as static scene point cloud data; set,according to set position association information, at least one dynamicobstacle in a coordinate system matching the static scene point clouddata; simulate in the coordinate system, according to the static scenepoint cloud data, a plurality of simulated scanning lights emitted by avirtual scanner located at an origin of the coordinate system; andupdate the static scene point cloud data according to intersections ofthe plurality of simulated scanning lights and the at least one dynamicobstacle to obtain the simulated point cloud data comprising point clouddata of the dynamic obstacle, wherein the one or more processors areconfigured to perform at least one act of: adding a set noise to thesimulated point cloud data, and, deleting point cloud data correspondingto the dynamic obstacle according to a set ratio.
 8. The deviceaccording to claim 7, wherein, the one or more processors are configuredto simulate in the coordinate system, according to the static scenepoint cloud data, the plurality of simulated scanning lights emitted bythe virtual scanner located at the origin of the coordinate system byperforming an act of: connecting the origin of the coordinate system toeach point in the static scene point cloud data respectively to obtain aplurality of line segments as the plurality of simulated scanninglights.
 9. The device according to claim 7, wherein, the one or moreprocessors are configured to simulate, according to the static scenepoint cloud data, the plurality of simulated scanning lights emitted bythe virtual scanner located at the origin of the coordinate system inthe coordinate system by performing acts of: connecting the origin ofthe coordinate system to each point in the static scene point cloud datarespectively to obtain a plurality of line segments as actual scanninglights; simulating actual working parameters of the virtual scanner, andgenerating a plurality of rays starting from the origin as idealscanning lights; comparing, in the coordinate system, each of the idealscanning lights with each of the actual scanning lights separately;deleting an ideal scanning light with an angle between the idealscanning light and an actual scanning light that is less than or equalto a first angle threshold; and determining a combination of remainingideal scanning lights and the actual scanning lights as the plurality ofsimulated scanning lights.
 10. The device according to claim 7, wherein,the one or more processors are configured to update the static scenepoint cloud data according to intersections of the plurality ofsimulated scanning lights and the at least one dynamic obstacle toobtain the simulated point cloud data comprising point cloud data of thedynamic obstacle by performing acts of: obtaining a distance valuebetween the origin of the coordinate system and an intersection of afirst target simulated scanning light and a dynamic obstacle when thefirst target simulated scanning light is intersected with the dynamicobstacle; adding the intersection to the static scene point cloud datadirectly when the first target simulated scanning light is a ray; whenthe first target simulated scanning light is a line segment, comparing alength of the line segment with the distance value, and replacing an endpoint of the line segment in the static scene point cloud data by theintersection when the distance value is smaller than the length of theline segment.
 11. The device according to claim 7, wherein, the one ormore processors are configured to update the static scene point clouddata according to intersections of the plurality of simulated scanninglights and the at least one dynamic obstacle to obtain the simulatedpoint cloud data comprising point cloud data of the dynamic obstacle byperforming acts of: determining, according to position associationinformation of the at least one dynamic obstacle in the coordinatesystem, depth maps of the dynamic obstacle projected on respectiveprojection planes in a projection cube centered on the virtual scanner;obtaining intersections of the plurality of simulated scanning lightswith respective projection planes in the projection cube; determining atype of a second target simulated scanning light when first depthinformation on a target intersection of the second target simulatedscanning light and a target plane is greater than second depthinformation of a depth map of the dynamic obstacle corresponding to thetarget plane at the target intersection; when the second targetsimulated scan light is a ray, constructing a new intersection accordingto the second target simulated scanning light and the second depthinformation, and adding the new intersection to the static scene pointcloud data; when the second target simulated scanning light is a linesegment, constructing a new intersection according to the second targetsimulated scanning light and the second depth information, and replacingan end point of the line segment in the static scene point cloud data bythe new intersection.
 12. The device according to claim 7, wherein theposition association information comprises: position information andorientation information.
 13. A non-transitory computer-readable storagemedium having a computer program stored thereon, the computer programbeing executed by a processor to implement a method for generatingsimulated point cloud data, comprising: acquiring at least one frame ofpoint cloud data collected by a road collecting device in an actualenvironment without a dynamic obstacle as static scene point cloud data;setting, according to set position association information, at least onedynamic obstacle in a coordinate system matching the static scene pointcloud data; simulating in the coordinate system, according to the staticscene point cloud data, a plurality of simulated scanning lights emittedby a virtual scanner located at an origin of the coordinate system; andupdating the static scene point cloud data according to intersections ofthe plurality of simulated scanning lights and the at least one dynamicobstacle to obtain the simulated point cloud data comprising point clouddata of the dynamic obstacle, after which the method further comprisesat least one of: adding a set noise to the simulated point cloud data,and, deleting point cloud data corresponding to the dynamic obstacleaccording to a set ratio.